package com.emser.unc.client.service;

import java.util.ArrayList;

import com.emser.unc.serializable.LocationDTO;
import com.emser.unc.serializable.ResultDTO;
import com.emser.unc.serializable.SellerDTO;
import com.emser.unc.shared.exception.NotLoggedInException;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("SellerService")
public interface SellerService extends RemoteService {
	boolean addSeller(String userAccountName, SellerDTO seller)throws NotLoggedInException;
	ResultDTO<SellerDTO> getSellers(String cursorString, int range, String userAccountName)throws NotLoggedInException;
	boolean deleteSeller(String userAccountName, String sellerName)throws NotLoggedInException;
	boolean updateSeller(String userAccountName, SellerDTO seller)throws NotLoggedInException;
	ResultDTO<LocationDTO> getSerialDevices(String cursorString, int range,String userAccountName)throws NotLoggedInException;
	Integer getSerialDevicesCount(String userAccountName)throws NotLoggedInException;
	Integer getSellersCount(String userAccountName) throws NotLoggedInException;
	ResultDTO<SellerDTO> getSearchSellers(String cursorString, int range,ArrayList<String> searchParam)throws NotLoggedInException;
	Integer getSResultsCount(ArrayList<String> searchParam)throws NotLoggedInException;
	SellerDTO getSeller(String userNSeller,String userAccountName)throws NotLoggedInException;
	LocationDTO getLocation(String serialDevice, String userName) throws NotLoggedInException;
}
